home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b2.d64 / report < prev    next >
Text File  |  2007-02-28  |  3KB  |  111 lines

  1. 0010 //OLDHAM'S GRAMMAR SCHOOL//
  2. 0020 //PROGRAM TO ADMINISTER PUPILS' MARKS//
  3. 0030 //WRITTEN IN CBM COMAL-80//
  4. 0040 //THIS VERSION: OCT. 1981//
  5. 0050 //THIS PART: TO PRINT REPORTS//
  6. 0060 //
  7. 0070 MAX:=8
  8. 0080 DIM NAME$(MAX) OF 20, ANSW$ OF 10
  9. 0090 DIM THISNAME$ OF 20
  10. 0100 DIM MARK(MAX,3), SUBJ$(3) OF 11, KEY'(MAX)
  11. 0110 DIM SPACES$ OF 39
  12. 0120 //*
  13. 0130 SUBJ$(1):="ENGLISH"
  14. 0140 SUBJ$(2):="MATHEMATICS"
  15. 0150 SUBJ$(3):="FRENCH"
  16. 0160 SPACES$(1:39):=""
  17. 0190 //
  18. 0200 STARTSYSTEM
  19. 0210 //
  20. 0220 //* MAINLINES *//
  21. 0230 PRINT CHR$(147) //CLEAR SCREEN
  22. 0240 FIELD(8,15)
  23. 0250 PRINT "1=SCREEN"
  24. 0260 PRINT "2=PRINTER"
  25. 0270 PRINT 
  26. 0280 INPUT "> ": DEVICE
  27. 0290 GETPERIOD
  28. 0300 IF DEVICE=2 THEN SELECT OUTPUT "LP:"
  29. 0310 PRINTOUT
  30. 0320 IF DEVICE=2 THEN SELECT OUTPUT "DS:"
  31. 0330 PRINT "END OF PROGRAM: REPORT"
  32. 0340 //
  33. 0350 PROC FIELD(L1,L2) 
  34. 0360 CURSOR(L1,1)
  35. 0370 FOR I:=1 TO L2-L1+1 DO PRINT SPACES$
  36. 0380 CURSOR(L1,1)
  37. 0390 PRINT 
  38. 0400 ENDPROC FIELD
  39. 0410 //
  40. 0420 PROC CURSOR(ROW,COL) CLOSED
  41. 0430 PRINT CHR$(19) //HOME
  42. 0440 FOR I:=1 TO ROW DO PRINT  //DOWN
  43. 0445 FOR I:=1 TO COL-1 DO PRINT CHR$(29) //DOWN
  44. 0450 ENDPROC CURSOR
  45. 0460 //
  46. 0470 PROC STARTSYSTEM 
  47. 0480 OPEN FILE 2,"MARKBOOKS",READ
  48. 0490 FOR PUPILNO:=1 TO MAX DO
  49. 0500 READ FILE 2: NAME$(PUPILNO)
  50. 0510 FOR SUBJNO:=1 TO 3 DO
  51. 0520 READ FILE 2: MARK(PUPILNO,SUBJNO)
  52. 0530 ENDFOR SUBJNO
  53. 0540 ENDFOR PUPILNO
  54. 0550 CLOSE
  55. 0560 ENDPROC STARTSYSTEM
  56. 0570 //
  57. 0580 PROC GETPERIOD 
  58. 0590 PRINT CHR$(147)
  59. 0600 FIELD(8,10)
  60. 0610 REPEAT 
  61. 0620 REPEAT 
  62. 0630 INPUT "WHAT TERM: ": TERM;
  63. 0640 UNTIL 0<TERM AND TERM<5
  64. 0650 TERM:=INT(TERM)
  65. 0660 REPEAT 
  66. 0670 INPUT "WHAT YEAR: ": YEAR
  67. 0680 UNTIL 0<YEAR AND YEAR<99
  68. 0690 YEAR:=INT(YEAR)
  69. 0700 FIELD(8,15)
  70. 0710 PRINT "YOU HAVE ENTERED: ",
  71. 0720 PRINT TERM,". TERM, 19",YEAR
  72. 0730 INPUT "OK (YES/NO)? ": ANSW$
  73. 0740 UNTIL ANSW$="YES"
  74. 0750 ENDPROC GETPERIOD
  75. 0760 //
  76. 0770 PROC PRINTOUT 
  77. 0780 PRINT CHR$(147)
  78. 0790 FOR PUPILNO:=1 TO MAX DO
  79. 0800 IF NAME$(PUPILNO)<>"" THEN
  80. 0810 THISNAME$:=NAME$(PUPILNO)
  81. 0820 IF DEVICE=1 THEN
  82. 0830 FIELD(8,20)
  83. 0840 ELSE 
  84. 0850 FOR I:=1 TO 8 DO PRINT 
  85. 0860 ENDIF 
  86. 0870 REPORT
  87. 0880 ENDIF 
  88. 0890 PRINT 
  89. 0900 ENDFOR PUPILNO
  90. 0910 PRINT CHR$(147)
  91. 0920 ENDPROC PRINTOUT
  92. 0930 //
  93. 0940 PROC REPORT 
  94. 0950 PRINT "     OLDHAMS'S GRAMMAR SCHOOL"
  95. 0960 PRINT "     ------------------------"
  96. 0970 PRINT "IN THE ",TERM,". TERM OF 19",YEAR
  97. 0980 PRINT "PUPIL NUMBER ",PUPILNO,", ",THISNAME$
  98. 0990 PRINT "HAS ACHIEVED THE FOLLOWING RESULTS:"
  99. 1000 PRINT 
  100. 1010 ZONE 30
  101. 1020 FOR SUBJNO:=1 TO 3 DO
  102. 1030 PRINT SUBJ$(SUBJNO),
  103. 1040 PRINT MARK(PUPILNO,SUBJNO)
  104. 1050 ENDFOR SUBJNO
  105. 1060 IF DEVICE=1 THEN
  106. 1070 FIELD(18,18)
  107. 1080 INPUT "PRESS RETURN ": ANSW$
  108. 1090 ENDIF 
  109. 1100 ZONE 0
  110. 1110 ENDPROC REPORT
  111.